home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Forever 4
/
Atari Forever 4.zip
/
Atari Forever 4.iso
/
PD_THEMA
/
HARDDISK
/
HD_TEST
/
HDBENCH.LST
< prev
next >
Wrap
File List
|
1998-03-14
|
4KB
|
183 lines
' Benchmark III für Festplatten
' ©1989 ST-Computer & Claus Brod
'
@Rdprog
Do
Cls
@Center(3,"Standard-Benchmarks der ST-Computer")
@Center(4,"für Massenspeicher - Teil III")
@Center(5,"Written 1988 by Claus Brod")
Alert 1," Welches Schweinderl | hätten's denn gern? | |",1,"Exit|Sektor|File",Erg%
Exit If Erg%=1
Print
Print
On Erg%-1 Gosub Sectortest,Filetest
@Taste
Loop
End
'
Procedure Center(Zeile,A$)
Print At((80-Len(A$))/2,Zeile);A$
Return
'
Procedure Sectortest
Print "SEKTORTEST"
Print
Repeat
Input "Laufwerksbezeichnung";A$
A$=Upper$(A$)
Until (A$>="A") And (A$<"Q") And (Bios(9,Asc(A$)-65)>=0)
Drive%=Asc(A$)-65
Print "1. 50 AUFEINANDERFOLGENDE SEKTOREN 100MAL EINLESEN"
@Media(Drive%)
Showm
Bpb=Bios(7,Drive%)
Bps%=Dpeek(Bpb)
Buf$=String$(50*Bps%,0)
Buf%=Varptr(Buf$)
Void Bios(4,0,L:Buf%,1,0,Drive%)
T1=Timer
For T=1 To 100
Showm
Fehler%=Bios(4,0,L:Buf%,50,0,Drive%)
If Fehler%
Print "Fehler ";Fehler%
Endif
Next T
T2=Timer
@Showtime(50*Bps%*100,T2-T1)
Print
Print "2. 100MAL JE 50 SEKTOREN EINZELN EINLESEN"
Showm
Void Bios(4,0,L:Buf%,1,0,Drive%)
T1=Timer
For I=1 To 100
For T=1 To 50
Showm
Fehler%=Bios(4,0,L:Buf%,1,T,Drive%)
If Fehler%
Print "Fehler ";Fehler%
Endif
Next T
Next I
T2=Timer
@Showtime(50*Bps%*100,T2-T1)
Return
'
Procedure Showtime(Bytes%,Ticks%)
Print "Zeit: ";Using "####.##",Ticks%/200;
Print " Sekunden"
If Bytes%
Print "Transferrate: ";Using "####.##",(Bytes%/1024)/(Ticks%/200);
Print " KB/s"
Endif
Print
Return
'
Procedure Filetest
Print "FILETEST"
Print
Repeat
Input "Ziellaufwerk";A$
A$=Upper$(A$)
Until A$>="A" And A$<"Q" And Bios(9,Asc(A$)-65)>=0
Drive%=Asc(A$)-65
Alert 1," Ziellaufwerk | vorher initialisieren| (wird dabei| gelöscht!!!)? ",1,"NEIN!|OK",Erg%
If Erg%=2
For I=0 To 15
@Media(I)
Next I
Showm
Bpb=Bios(7,Drive%)
If Bpb=0
Print "BIOS-Fehler!"
Else
B$=String$(Dpeek(Bpb),0)
For I=1 To Dpeek(Bpb+&HC)-1
Showm
Fehler%=Bios(4,1,L:Varptr(B$),1,I,Drive%)
If Fehler%
Print "BIOS-Fehler ";Fehler%
Endif
Next I
Endif
Endif
Print "1. 25 DATEIEN WERDEN ERZEUGT"
Print " (10*500 Bytes, 5*1500 Bytes, 10*30000 Bytes)"
If Dfree(Drive%+1)>350*1024
B$=String$(30000,&H42)
T1=Timer
For T=1 To 25
Mkdir A$+":\ordner."+Str$(T)
Open "O",#1,A$+":\ordner."+Str$(T)+"\testfile."+Str$(T)
Print #1,Left$(B$,30000+(T<16)*28500+(T<11)*1000);
Close #1
Next T
T2=Timer
@Showtime(0,T2-T1)
'
Print "2. LESEN DER DATEIEN"
T1=Timer
For T=1 To 25
Open "I",#1,A$+":\ordner."+Str$(T)+"\testfile."+Str$(T)
B$=Input$(30000+(T<16)*28500+(T<11)*1000,#1)
Close #1
Next T
T2=Timer
@Showtime(5*500+5*1500+10*30000,T2-T1)
'
Print "3. DATEIEN WERDEN GELÖSCHT"
T1=Timer
For T=1 To 25
Kill A$+":\ordner."+Str$(T)+"\testfile."+Str$(T)
Rmdir A$+":\ordner."+Str$(T)
Next T
T2=Timer
@Showtime(0,T2-T1)
@Media(Drive%)
Else
Print "Zuwenig Platz! Brauche mindestens 350 KB."
Endif
Return
'
Procedure Media(Drv%)
T=Varptr(Med$)
Void C:T(Drv%)
Return
'
Procedure Rdprog
Med$=String$(400,0)
Read A$
T=1
While A$<>"***"
Mid$(Med$,T)=Chr$(Val("&h"+A$))
Inc T
Read A$
Wend
Return
'
Procedure Taste
Local T
Repeat
A$=Inkey$
If Timer-T>90 And Timer-T<110
Print At(35,25);String$(13,32);
Endif
If Timer-T>200
Print At(35,25);"Taste drücken";
T=Timer
Endif
Until A$<>""
Return
'
Data 30,2F,0,4,D0,3C,0,41,41,FA,0,84,10,80,41,FA
Data 0,30,61,20,48,7A,0,80,3F,3C,0,1A,4E,41,5C,8F
Data 3F,3C,0,0,48,7A,0,68,3F,3C,0,4E,4E,41,50,8F
Data 41,FA,0,3C,2F,8,3F,3C,0,26,4E,4E,5C,8F,4E,75
Data 41,FA,0,80,20,B8,4,72,21,78,4,7E,0,4,21,78
Data 4,76,0,8,41,FA,0,2C,21,C8,4,72,41,FA,0,28
Data 21,C8,4,7E,41,FA,0,24,21,C8,4,76,4E,75,21,FA
Data 0,52,4,72,21,FA,0,50,4,7E,21,FA,0,4E,4,76
Data 4E,75,70,0,4E,75,70,2,4E,75,70,F2,4E,75,58,3A
Data 5C,2A,2E,2A,0,0,***